package com.itheima.service.mongo;

import com.itheima.domain.mongo.Movement;
import com.itheima.vo.MovementVo;
import com.itheima.vo.PageBeanVo;
import org.bson.types.ObjectId;

import java.util.List;

// 动态模块
public interface MovementService {

    // 发布动态
    void publishMovement(Movement movement);

    // 查询我的动态
    PageBeanVo findMyMovementByPage(Long userId, Integer pageNum, Integer pageSize);

    // 查询好友动态
    PageBeanVo findFriendMovementByPage(Long userId, Integer pageNum, Integer pageSize);

    // 查询推荐动态
    PageBeanVo findRecommendMovementByPage(Long userId, Integer pageNum, Integer pageSize);

    // 根据id查询
    Movement findById(ObjectId id);

    // 后台动态查询
    PageBeanVo findMovementByPage(Long userId, Integer state, Integer pageNum, Integer pageSize);

    // 更新动态审核
    void updateMovement(Movement movement);

    //后台动态审核通过
    List<MovementVo> passMovement(String[] publishId);

    //后套动态审核拒绝
    List<MovementVo> rejectMovement(String[] publishId);
}
